

package Utilitarios;
import java.sql.*;
import javax.swing.*;

/**
 *
 * @author Ramon Cruz
 */
public class conexao
{

    //armazena o driver para carregar o banco de dados
   // final private String driver="sun.jdbc.odbc.JdbcOdbcDriver";
  //final private String driver="sun.jbdc.odbc.Jdbc0dbcDriver";

  //armazena a fonte de dados
 // final private String url="jdbc:odbc:estoque";
String driver="org.postgresql.Driver";
String url="jbdc:postgresql://localhost:5432/TecPro";

    //verifica usuario, desnecessario nesse caso
    final private String usuario="postgres";
    final private String senha="1234";


    //responsavel pela conexao do banco
    private Connection conexao;
    // respensavel por abrir o caminho ate o banco
    public Statement statement;
    //armazena o resultado dos comandos


    public ResultSet resultSet;


    public boolean conecta()
    {

        boolean result=true;

        try
        {
            Class.forName(driver);// carrega o driver
            conexao=DriverManager.getConnection(url,usuario,senha);
         //   JOptionPane.showMessageDialog(null,"Concexão realizado com Sucesso1111!");

        }
        catch (ClassNotFoundException Driver)
        {
            JOptionPane.showMessageDialog(null,"Driver não localizado: "+Driver);
            result =false;
        }
        catch(SQLException Fonte)

        {
            JOptionPane.showMessageDialog(null,"Erro na conexão da fonte de dados"
                    + ": "+Fonte);

            result =false;
        }



        return result;
    }



    public void desconecta()
    {
      boolean result =true;

      try
      {
          conexao.close();
          JOptionPane. showMessageDialog(null, "Banco de dados fechado com sucesso!");

      }
      catch (SQLException erroSQL)
      {
          JOptionPane.showMessageDialog(null,"Não foi possível fechar o banco de dados: "+erroSQL.getMessage());
          result=false;
      }

    }

    public boolean executeSQL(String sql) throws SQLException
    {
        boolean retorno=true;
       try
       {
      // statement =conexao.createStatement();//abre o caminho NAVEGAVEL
       statement =conexao.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
       resultSet=statement.executeQuery(sql);//local de armazenagem dos dados da tabela


       }
       catch(SQLException sqlex)
       {
           JOptionPane.showMessageDialog(null,"Não foi possível executar o "
                   + "comando SQL"+ sqlex.getMessage()+"O sql passado foi :"+sql);
              return retorno=false;

       }

        if (resultSet.next()){
            retorno=true;
        }else retorno =false;
        return retorno ;
    }

    public boolean  executeSQL(String sql, ResultSet resultset)
    {
        boolean resultado=true;
        try
        {
            statement=conexao.createStatement();
            resultSet=statement.executeQuery(sql);
        }
        catch(SQLException sqlex)
        {

            JOptionPane.showMessageDialog(null,"Não foi possivel execultar o comando sql:-- "+sqlex.getMessage());

            resultado=false;
        }

        return resultado;
    }

    public void userOk()
    {
        boolean resultado=true;

        conexao verifica = new conexao();

        verifica.conecta();

        if(verifica.conecta()==true){
            try{

                verifica.executeSQL("select * from \"User_Log\" order by \"Id_Log\"");
                verifica.resultSet.last();
                

            }catch(Exception error){
                JOptionPane.showMessageDialog(null, error);
            }

        }
        
      
    }

}
